home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 February: Tool Chest / Dev.CD Feb 94.toast / Tool Chest / Development Platforms / MPW Related / MPW Interfaces / PInterfaces / Events.p < prev    next >
Encoding:
Text File  |  1993-09-17  |  3.5 KB  |  158 lines  |  [TEXT/MPS ]

  1. {
  2.     File:        Events.p
  3.  
  4.     Copyright:    © 1983-1993 by Apple Computer, Inc.
  5.                 All rights reserved.
  6.  
  7.     Version:    System 7.1 for ETO #11
  8.     Created:    Tuesday, March 30, 1993 18:00
  9.  
  10. }
  11.  
  12. {$IFC UNDEFINED UsingIncludes}
  13. {$SETC UsingIncludes := 0}
  14. {$ENDC}
  15.  
  16. {$IFC NOT UsingIncludes}
  17.  UNIT Events;
  18.  INTERFACE
  19. {$ENDC}
  20.  
  21. {$IFC UNDEFINED UsingEvents}
  22. {$SETC UsingEvents := 1}
  23.  
  24. {$I+}
  25. {$SETC EventsIncludes := UsingIncludes}
  26. {$SETC UsingIncludes := 1}
  27. {$IFC UNDEFINED UsingTypes}
  28. {$I $$Shell(PInterfaces)Types.p}
  29. {$ENDC}
  30. {$IFC UNDEFINED UsingQuickdraw}
  31. {$I $$Shell(PInterfaces)Quickdraw.p}
  32. {$ENDC}
  33. {$IFC UNDEFINED UsingOSUtils}
  34. {$I $$Shell(PInterfaces)OSUtils.p}
  35. {$ENDC}
  36. {$SETC UsingIncludes := EventsIncludes}
  37.  
  38. CONST
  39. nullEvent = 0;
  40. mouseDown = 1;
  41. mouseUp = 2;
  42. keyDown = 3;
  43. keyUp = 4;
  44. autoKey = 5;
  45. updateEvt = 6;
  46. diskEvt = 7;
  47. activateEvt = 8;
  48. osEvt = 15;
  49.  
  50. { event mask equates }
  51. mDownMask = 2;
  52. mUpMask = 4;
  53. keyDownMask = 8;
  54. keyUpMask = 16;
  55. autoKeyMask = 32;
  56. updateMask = 64;
  57. diskMask = 128;
  58. activMask = 256;
  59. highLevelEventMask = 1024;
  60. osMask = -32768;
  61. everyEvent = -1;
  62.  
  63. { event message equates }
  64. charCodeMask = $000000FF;
  65. keyCodeMask = $0000FF00;
  66. adbAddrMask = $00FF0000;
  67. osEvtMessageMask = $FF000000;
  68.  
  69. { OS event messages.  Event (sub)code is in the high byte of the message field. }
  70. mouseMovedMessage = $FA;
  71. suspendResumeMessage = $01;
  72.  
  73. resumeFlag = 1;                { Bit 0 of message indicates resume vs suspend }
  74. convertClipboardFlag = 2;    { Bit 1 in resume message indicates clipboard change }
  75.  
  76. { modifiers }
  77. activeFlag = 1;                { Bit 0 of modifiers for activateEvt and mouseDown events }
  78. btnState = 128;                { Bit 7 of low byte is mouse button state }
  79. cmdKey = 256;                { Bit 0 }
  80. shiftKey = 512;                { Bit 1 }
  81. alphaLock = 1024;            { Bit 2 }
  82. optionKey = 2048;            { Bit 3 of high byte }
  83. controlKey = 4096;
  84.  
  85. { obsolete equates }
  86. networkEvt = 10;
  87. driverEvt = 11;
  88. app1Evt = 12;
  89. app2Evt = 13;
  90. app3Evt = 14;
  91. app4Evt = 15;
  92. networkMask = 1024;
  93. driverMask = 2048;
  94. app1Mask = 4096;
  95. app2Mask = 8192;
  96. app3Mask = 16384;
  97. app4Mask = -32768;
  98.  
  99. TYPE
  100. EventRecord = RECORD
  101.  what: INTEGER;
  102.  message: LONGINT;
  103.  when: LONGINT;
  104.  where: Point;
  105.  modifiers: INTEGER;
  106.  END;
  107.  
  108.  
  109. KeyMap = PACKED ARRAY [0..127] OF BOOLEAN;
  110.  
  111. FUNCTION GetNextEvent(eventMask: INTEGER;VAR theEvent: EventRecord): BOOLEAN;
  112.  INLINE $A970;
  113. FUNCTION WaitNextEvent(eventMask: INTEGER;VAR theEvent: EventRecord;sleep: LONGINT;
  114.  mouseRgn: RgnHandle): BOOLEAN;
  115.  INLINE $A860;
  116. FUNCTION EventAvail(eventMask: INTEGER;VAR theEvent: EventRecord): BOOLEAN;
  117.  INLINE $A971;
  118. PROCEDURE GetMouse(VAR mouseLoc: Point);
  119.  INLINE $A972;
  120. FUNCTION Button: BOOLEAN;
  121.  INLINE $A974;
  122. FUNCTION StillDown: BOOLEAN;
  123.  INLINE $A973;
  124. FUNCTION WaitMouseUp: BOOLEAN;
  125.  INLINE $A977;
  126. PROCEDURE GetKeys(VAR theKeys: KeyMap);
  127.  INLINE $A976;
  128. FUNCTION KeyTranslate(transData: Ptr;keycode: INTEGER;VAR state: LONGINT): LONGINT;
  129.  INLINE $A9C3;
  130. FUNCTION KeyTrans(transData: Ptr;keycode: INTEGER;VAR state: LONGINT): LONGINT;
  131.  INLINE $A9C3;
  132. FUNCTION TickCount: LONGINT;
  133.  INLINE $A975;
  134. FUNCTION GetDblTime: LONGINT;
  135.  INLINE $2EB8,$02F0;
  136. FUNCTION GetCaretTime: LONGINT;
  137.  INLINE $2EB8,$02F4;
  138.  
  139. FUNCTION PostEvent(eventNum: INTEGER;eventMsg: LONGINT): OSErr;
  140. FUNCTION PPostEvent(eventCode: INTEGER;eventMsg: LONGINT;VAR qEl: EvQElPtr): OSErr;
  141. FUNCTION OSEventAvail(mask: INTEGER;VAR theEvent: EventRecord): BOOLEAN;
  142. FUNCTION GetOSEvent(mask: INTEGER;VAR theEvent: EventRecord): BOOLEAN;
  143. PROCEDURE FlushEvents(whichMask: INTEGER;stopMask: INTEGER);
  144.  INLINE $201F,$A032;
  145. PROCEDURE SetEventMask(theMask: INTEGER);
  146.  INLINE $31DF,$0144;
  147. FUNCTION GetEvQHdr: QHdrPtr;
  148.  INLINE $2EBC,$0000,$014A;
  149.  
  150.  
  151.  
  152. {$ENDC} { UsingEvents }
  153.  
  154. {$IFC NOT UsingIncludes}
  155.  END.
  156. {$ENDC}
  157.  
  158.